Following are examples of how to use the PEGetNGroups, PEGetGroupCondition, and PESetGroupCondition functions:
short nGroups;
// Number of groups in report
nGroups = PEGetNGroups(Job);
if (nGroups < 0){
// Handle error
}
BOOL result;
short sectionCode;
// Group header or group footer
HANDLE conditionFieldHandle;
short conditionFieldLength;
char *conditionFieldString;
short condition;
// Will receive a PE_GC_ value
Note: For a list of PE_GC_ values, see PESetGroupCondition.
short sortDirection;
// Will receive Ascending or Descending
sectionCode = PE_GROUPFOOTER;
// Group footer section
result = PEGetGroupCondition(Job, sectionCode, &conditionFieldHandle, &conditionFieldLength, &condition, &sortDirection);
if (!result){
// Handle error
}
// Allocate buffer
conditionFieldString = (char*)malloc(conditionFieldLength);
result = PEGetHandleString(conditionFieldHandle, conditionFieldString, conditionFieldLength);
if (!result){
// Handle error
}
BOOL result;
short sectionCode;
short condition;
short sortDirection;
char conditionField [] = "{orders.DATE}";
sectionCode = PE_GROUPFOOTER;
condition = PE_GC_MONTHLY;
// New group for every month
sortDirection = PE_SF_ASCENDING;
result = PESetGroupCondition(Job, sectionCode, conditionField, condition, sortDirection);
if (!result){
// Handle error
}
Seagate Software IMG Holdings, Inc. http://www.seagatesoftware.com Support services: http://support.seagatesoftware.com |